home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2002 January / maximum-cd-2002-01.iso / Files / Mechwarrior 4 Mapping / MW4Editor.exe / content / ABLScripts / mwconst.abi < prev    next >
Encoding:
Text File  |  2001-07-16  |  22.8 KB  |  711 lines

  1. //************************
  2. //MW4 Mission Const Include File 4/8
  3. //------------------------
  4.  
  5. //----------------
  6. // Alignments
  7. //----------------
  8.     ENEMY_ALIGNMENT       =      2;
  9.     NEUTRAL_ALIGNMENT     =       0;
  10.     FRIENDLY_ALIGNMENT     =      1;
  11.     
  12.     ENEMY       =      2;
  13.     NEUTRAL     =       0;
  14.     FRIENDLY     =       1;
  15.         
  16. //----------------
  17. // Units
  18. //----------------
  19.     ME                                = -1;
  20.     NO_UNIT                            = -2;
  21.  
  22. //----------------
  23. // Teams
  24. //----------------
  25.     NO_TEAM                            = 8;
  26.  
  27. //----------------
  28. // Timers
  29. //----------------
  30.         gti_TIMER_0                        = 0 ;
  31.         gti_TIMER_1                        = 1 ;
  32.         gti_TIMER_2                        = 2 ;
  33.         gti_TIMER_3                        = 3 ;
  34.         gti_TIMER_4                        = 4 ;
  35.         gti_TIMER_5                        = 5 ;
  36.         gti_TIMER_6                        = 6 ;
  37.         gti_TIMER_7                        = 7 ;
  38.         gti_TIMER_8                        = 8 ;
  39.         gti_TIMER_9                        = 9 ;
  40.         gti_TIMER_10                    = 10;
  41.         gti_TIMER_11                    = 11;
  42.         gti_TIMER_12                    = 12;
  43.         gti_TIMER_13                    = 13;
  44.         gti_TIMER_14                    = 14;
  45.         gti_TIMER_15                    = 15;
  46.         gti_TIMER_16                    = 16;
  47.         gti_TIMER_17                    = 17;
  48.         gti_TIMER_18                    = 18;
  49.         gti_TIMER_19                    = 19;
  50.         gti_TIMER_20                    = 20;
  51.         gti_TIMER_21                    = 21;
  52.         gti_TIMER_22                    = 22;
  53.         gti_TIMER_23                    = 23;
  54.         gti_TIMER_24                    = 24;
  55.         gti_TIMER_25                    = 25;
  56.         gti_TIMER_26                    = 26;
  57.         gti_TIMER_27                    = 27;
  58.         gti_TIMER_28                    = 28;
  59.         gti_TIMER_29                    = 29;
  60.         gti_TIMER_30                    = 30;
  61.         gti_TIMER_31                    = 31;
  62.  
  63.  
  64. //----------------
  65. // Moods
  66. // NOTE: The keywords and constants here must exactly match those in AI_Moods.hpp
  67. // NOTE: "_START" indicates the low range of a mood; "_END" indicates the high range of a mood
  68. //----------------
  69.  
  70.    DESPERATE_START    = 1;
  71.    DESPERATE_END      = 2;
  72.    DEFENSIVE_START    = 3;
  73.    DEFENSIVE_END      = 4;
  74.    NEUTRAL_START      = 5;
  75.    NEUTRAL_END        = 6;
  76.    AGRESSIVE_START    = 7;
  77.    AGRESSIVE_END      = 8;
  78.    BRUTAL_START       = 9;
  79.    BRUTAL_END         = 10;
  80.  
  81. //----------------
  82. // Paths
  83. //----------------
  84.  
  85.         MOVE_NOCYCLE                 = 1;
  86.         MOVE_CIRCLE                    = 2;
  87.         MOVE_SEESAW                    = 3;
  88.  
  89. //----------------
  90. // FA_*: FindObject() Alignment Criteria
  91. // NOTE: These can be combined arbitrarily by adding them together as desired.
  92. // NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
  93. //----------------
  94.  
  95.     FA_FRIENDLY        = 1;    // include friendly units
  96.     FA_ENEMY        = 2;    // include enemy units
  97.     FA_NEUTRAL        = 4;    // include neutral units
  98.     FA_ANY            = 7;    // include any units: = FA_FRIENDLY + FA_ENEMY + FA_NEUTRAL
  99.  
  100. //----------------
  101. // FT_*: FindObject() Type Criteria
  102. // NOTE: These can be combined arbitrarily by adding them together as desired.
  103. // NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
  104. //----------------
  105.  
  106.     FT_VEHICLE        = 1;    // if specified, include vehicles
  107.     FT_MECH            = 2;    // if specified, include 'Mechs
  108.     FT_AIRPLANE        = 4;    // if specified, include airplanes + helicopters
  109.     FT_BOAT            = 8;    // if specified, include boats
  110.     FT_MFB            = 16;    // if specified, include MFBs
  111.     FT_TURRET        = 32;    // if specified, include turrets
  112.  
  113.     // the default:
  114.     FT_DEFAULT        = 63;    // include any units: = FT_VEHICLE + FT_MECH + FT_AIRPLANE + FT_BOAT + FT_MFB + FT_HOVER + FT_HELI + FT_BUILDING
  115.  
  116.     // extras not included in the default
  117.     FT_BUILDING        = 64;    // if specified, take buildings into account (NOTE: ONLY BUILDINGS WITH "PLAYER" OR "ENEMY" ALIGNMENT WILL BE COUNTED HERE -- NEUTRAL BUILDINGS ARE ALWAYS IGNORED!!!)
  118.     FT_UNARMED        = 128;    // if specified, include unarmed units (such as APCs)
  119.  
  120. //----------------
  121. // FC_*: FindObject() Search Criteria
  122. // NOTE: You cannot add these constants; you can use only one.
  123. // NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
  124. //----------------
  125.  
  126.     FC_BEST_TARGET        = 1001;        // find the "best target" based on multiple factors
  127.                                     // Currently, this is (0.45 * distance) + (0.35 * damage) +
  128.                                     // (0.2 * tonnage), but will become (0.4 * distance) +
  129.                                     // (0.3 * damage) + (0.2 * weapons) + (0.1 * tonnage)
  130.                                     // when we can query weapons' values for these attributes.
  131.                                     // The most desirable target is the one which is nearest, most
  132.                                     // badly damaged, largest, and has the most weapons.
  133.  
  134.     FC_GREATEST_THREAT    = 1002;        // find the greatest immediate threat
  135.                                     // currently, this is (0.6 * distance) + (0.4 * tonnage),
  136.                                     // but "tonnage" will be replaced with "weapons" eventually.
  137.  
  138.     FC_LEAST_THREAT        = 1003;        // find the least immediate threat
  139.                                     // Each vehicle evaluates to 1 - (its score for FQ_GREATEST_THREAT).
  140.  
  141.     FC_MOST_DAMAGED        = 1004;        // find the most damaged object
  142.                                     // This is (1.0 * damage).
  143.  
  144.     FC_NEAREST            = 1005;        // find the nearest object
  145.                                     // This is (1.0 * distance).
  146.  
  147. //----------------
  148. // FF_*: FindObject() Flags
  149. // NOTE: You can add these together to combine them, or specify 0 for none.
  150. // NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
  151. //----------------
  152.  
  153.     FF_WHO_SHOT        = 1;    // if specified and someone shot me, return that object, overriding anything else
  154.     FF_SEEPLAYER    = 2;    // if specified, we can also see the player if within fog radius and if we're facing toward him
  155.     FF_LOOK_EVERYWHERE = 4;    // if specified, we look through every potential enemy in the whole mission
  156.                             // WARNING -- THIS CAN BE VERY EXPENSIVE!!!  Use only on small, limited maps!
  157.  
  158. //----------------
  159. // Tactics
  160. // NOTE: The keywords and constants here must exactly match those in AI_Tactics.hpp
  161. //----------------
  162.  
  163.     TACTIC_PICK_BEST        = 2000;
  164.     // Tells the Combat AI to pick the best tactic.  This is the same as a generic OrderAttack().
  165.  
  166.     TACTIC_STOP_AND_FIRE    = 2001;
  167.     // Approach the targeted enemy to close range.  Attempt to fire continuously at all times on approach and arrival.
  168.  
  169.     TACTIC_RAM                = 2002;
  170.     // Head toward the targeted enemy at all times while firing.
  171.  
  172.     TACTIC_JOUST            = 2003;
  173.     // Not yet implemented.
  174.  
  175.     TACTIC_RUSH                = 2004;
  176.     // Attempt to stay within close range of the enemy at all times and maneuver at a close range.  Always fire.
  177.  
  178.     TACTIC_HIT_AND_RUN        = 2005;
  179.     // Approach the enemy, run away to a distant range, and repeat.  Always fire.
  180.  
  181.     TACTIC_FRONT            = 2006;
  182.     // Attempt to stay in front of the enemy at all times.  Always fire.
  183.  
  184.     TACTIC_REAR                = 2007;
  185.     // Attempt to stay several meters behind the enemy's back at all times.  Always fire.
  186.  
  187.     TACTIC_CIRCLE_OF_DEATH    = 2008;
  188.     TACTIC_CIRCLE            = 2008; // alternate name
  189.     // Attempt to circle around the enemy.  Always fire.
  190.  
  191.     TACTIC_BACK_UP_AND_FIRE    = 2009;
  192.     // Flee the enemy while walking backwards to long weapons range.  Always fire.
  193.  
  194.     TACTIC_RETREAT            = 2010;
  195.     // Flee the enemy.  Do not fire.
  196.  
  197.     TACTIC_CIRCLE_HOVER        = 2011;
  198.     // Intended for helicopters.  Hover in a circle around the enemy.
  199.  
  200.     TACTIC_STRAFE            = 2012;
  201.     // Intended for Shilone bombers.  Strafe directly over the enemy.
  202.  
  203.     TACTIC_STAND_GROUND        = 2013;
  204.     // Hold still and fire at the target.
  205.  
  206.     TACTIC_JUMP_AND_SHOOT    = 2014;
  207.     // Stay in one place, and if the enemy is in range, jump over the nearby obstacles and shoot it.
  208.     // Similar to TACTIC_AMBUSH, this tactic is automatically quit if the target can see the AI unit
  209.     // (i.e. it has a clear line of sight to the unit) when the AI unit is standing on the ground.
  210.  
  211.     TACTIC_SNIPE            = 2015;
  212.     // Stay at maximum weapons range from the enemy.  Wander around a bit to make yourself harder to hit.
  213.     // Fire at the enemy.  Give up & switch to a new tactic if you can't fire after a certain amount of time.
  214.  
  215.     TACTIC_SHOOT_ONLY        = 2016;
  216.     // Only shoot; don't try to move under any circumstances.  This is the ONLY tactic turrets can use.
  217.  
  218.     TACTIC_DEFEND            = 2017;
  219.     // Defend the current target from any potential enemies.
  220.  
  221.     TACTIC_LOCAL_PATROL        = 2018;
  222.     // Similar to TACTIC_STAND_GROUND, but the mech patrols randomly in a small area
  223.  
  224.     TACTIC_SURRENDER        = 2019;
  225.     // Stop, pitch torso down, put both arms up, and hold fire.
  226.  
  227.     TACTIC_AMBUSH            = 2020;
  228.     // Rush forward from behind your hiding place, fire, and walk backwards to the same spot again.
  229.     // Like TACTIC_JUMP_AND_SHOOT, this tactic is automatically quit if the target can see the AI unit
  230.     // (i.e. it has a clear line of sight to the unit) when the AI unit is standing in its hiding place
  231.     // (i.e. the spot where it was first given the attack order with this tactic).
  232.  
  233.     TACTIC_DEATH_FROM_ABOVE = 2021;
  234.     TACTIC_DFA                = 2021;
  235.     // Shoot whenever possible, and try to use jump jets to kick the target in the face.
  236.     // This will only ever be assigned to mechs with jump jets
  237.     // (or assigned explicitly by a designer -- make sure it is a mech that has jump jets!).
  238.  
  239.     TACTIC_HELI_POPUP        = 2022;
  240.     // For helicopters only  ...  will pop up and down over hills.
  241.  
  242.     TACTIC_DIVE_BOMB        = 2023;
  243.     // will dive-bomb the target (Nightshades and Peregrines only)
  244.  
  245.     TACTIC_FAST_CIRCLE        = 2024;
  246.     // Like Circle of Death, but only moves forwards, and tries to avoid stopping
  247.  
  248.     TACTIC_STARE            = 2025;
  249.     // Stand and stare evilly
  250.  
  251. //----------------
  252. // Group AIs
  253. // NOTE: The keywords and constants here must exactly match those in AI_Squad.hpp
  254. //----------------
  255.  
  256.     GROUPAI_NONE            = 4000;
  257.     // No group AI.
  258.  
  259.     GROUPAI_LANCEMATE        = 4001;
  260.     // Uses lancemate AI -- all vehicles after the first are considered lancemates of the first.
  261.  
  262.     GROUPAI_RADIOSQUAD        = 4002;
  263.     // Serves no purpose other than to propagate IsShot() notifications through all members of the group
  264.  
  265.     GROUPAI_MOODSQUAD        = 4003;
  266.     // Same as a "radio squad," but members' moods are shared -- i.e. there is a single "group mood" that is
  267.     // affected proportionally by anything that happens to any individual unit, and each unit responds
  268.     // according to this group mood.
  269.  
  270.     GROUPAI_FOCUSFIRESQUAD    = 4004;
  271.     // Same as a "radio squad", but members use auto-targeting (see ABL SetAutoTargeting()) to
  272.     // pick on the same target most of the time.
  273.  
  274. //----------------
  275. // Lancemate Commands
  276. // NOTE: The keywords and constants here must exactly match those in AI_LancemateCommands.hpp
  277. //----------------
  278.  
  279.     LANCEMATE_DEFAULT                    = 5000;    // default = no order
  280.     LANCEMATE_ATTACKPLAYERSTARGET        = 5001;
  281.     LANCEMATE_DEFENDPLAYERSTARGET        = 5002;
  282.     LANCEMATE_FORMONME                    = 5003;
  283.     LANCEMATE_HOLDFIRE                    = 5004;
  284.     LANCEMATE_GOTOMYNAVPOINT            = 5005;
  285.     LANCEMATE_STOP                        = 5006;
  286.     LANCEMATE_SHUTDOWN                    = 5007;
  287.     LANCEMATE_ATTACKNEARESTTHREAT        = 5008;
  288.     LANCEMATE_REPAIRATNEARESTREPAIRBAY    = 5009;
  289.     LANCEMATE_CAPTUREPLAYERSFLAG        = 5010;
  290.  
  291. //----------------
  292. // Formation Types
  293. // NOTE: The keywords and constants here must exactly match those in move_formation.hpp
  294. //----------------
  295.  
  296.     FORMTYPE_SPARSE = 1;
  297.     FORMTYPE_NORMAL = 2;
  298.     FORMTYPE_DENSE = 3;
  299.  
  300. //----------------
  301. // Objective Status
  302. // NOTE: The keywords and constants here must exactly match those in objective.hpp
  303. //----------------
  304.     
  305.     OBJECTIVE_NEUTRAL = 2;
  306.     OBJECTIVE_SUCCEEDED = 1;
  307.     OBJECTIVE_FAILED = 0;
  308.     
  309. //----------------
  310. // Difficulty Levels
  311. // NOTE: The keywords and constants here must exactly match those in mwplayer.hpp
  312. //----------------
  313.  
  314.     EASY_DIFFICULTY = 0;
  315.     MEDIUM_DIFFICULTY = 1;
  316.     HARD_DIFFICULTY = 2;
  317.     IMPOSSIBLE_DIFFICULTY = 3;
  318.  
  319. //----------------
  320. // Different players
  321. //----------------
  322.  
  323.     epl_player0        = 0;
  324.     epl_player1        = 1;
  325.     epl_player2        = 2;
  326.     epl_player3        = 3;
  327.     epl_player4        = 4;
  328.     epl_player5        = 5;
  329.     epl_player6        = 6;
  330.     epl_player7        = 7;
  331.     epl_player8        = 8;
  332.     epl_player9        = 9;
  333.     epl_player10    = 10;
  334.     epl_player11    = 11;
  335.     epl_player12    = 12;
  336.     epl_player13    = 13;
  337.     epl_player14    = 14;
  338.     epl_player15    = 15;
  339.     epl_player16    = 16;
  340.     epl_player17    = 17;
  341.     epl_player18    = 18;
  342.     epl_player19    = 19;
  343.     epl_player20    = 20;
  344.     epl_player21    = 21;
  345.     epl_player22    = 22;
  346.     epl_player23    = 23;
  347.     epl_player24    = 24;
  348.     epl_player25    = 25;
  349.     epl_player26    = 26;
  350.     epl_player27    = 27;
  351.     epl_player28    = 28;
  352.     epl_player29    = 29;
  353.     epl_player30    = 30;
  354.     epl_player31    = 31;
  355.  
  356.     Bucket_KILL_LINK            = 0;
  357.     Bucket_DEATH_LINK            = 1;
  358.     Bucket_KILLS                = 2;        // How many kills I can take credit for
  359.     Bucket_FRIENDLY_KILLS        = 3;        // How many friendly-fire kills I've committed
  360.     Bucket_ENEMY_KILLS            = 4;        // How many enemies I've killed
  361.     Bucket_KILLS_BY_TONNAGE        = 5;        // Total tonnage of everyone I've killed
  362.     Bucket_FRIENDLY_KILLS_BY_TONNAGE = 6;    // Total tonnage of all friendlies I've killed
  363.     Bucket_ENEMY_KILLS_BY_TONNAGE = 7;        // Total tonnage of all enemies I've killed
  364.     Bucket_DEATHS                = 8;        // How many times I've died
  365.     Bucket_SUICIDES                = 9;        // How many times I killed myself
  366.     Bucket_DAMAGE_INFLICT        = 10;        // How much damage I've inflicted
  367.     Bucket_FRIENDLY_DAMAGE_INFLICT = 11;    // How much damage I've inflicted on friendlies
  368.     Bucket_ENEMY_DAMAGE_INFLICT    = 12;        // How much damage I've inflicted on enemies
  369.     Bucket_DAMAGE_RECEIVE        = 13;        // How much damage I've received
  370.     Bucket_FRIENDLY_DAMAGE_RECEIVE    = 14;    // How much damage I've received from friendlies
  371.     Bucket_ENEMY_DAMAGE_RECEIVE    = 15;        // How much damage I've received from enemies
  372.     Bucket_COMPONENT_KILLS            = 16;    // How many components I've killed
  373.     Bucket_COMPONENT_DEATHS        = 17;        // How many components I've lost
  374.     Bucket_FRIENDLY_COMPONENT_KILLS = 18;    // How many friendly units' components I've killed
  375.     Bucket_FRIENDLY_COMPONENT_DEATHS = 19;    // How many components I've lost to friendly fire
  376.     Bucket_ENEMY_COMPONENT_KILLS    = 20;    // How many enemy units' components I've killed
  377.     Bucket_ENEMY_COMPONENT_DEATHS    = 21;    // How many components I've lost to enemy units
  378.     Bucket_DFA                    = 22;        // How many times I've been able to pull off a Death From Above
  379.     Bucket_SHOTS_HIT            = 23;        // How many of my shots have hit
  380.     Bucket_SHOTS_FIRED            = 24;        // How many shots I've fired
  381.     Bucket_HEAD_SHOTS            = 25;        // How many of my shots have hit a 'Mech's head
  382.     Bucket_ARM_SHOTS            = 26;        // How many of my shots have hit a 'Mech's arm
  383.     Bucket_LEG_SHOTS            = 27;        // How many of my shots have hit a 'Mech's leg
  384.     Bucket_TORSO_SHOTS            = 28;        // How many of my shots have hit a 'Mech's torso
  385.     Bucket_KILLS_PC                = 29;
  386.     Bucket_KILLS_AI                = 30;
  387.     Bucket_BLANK                = 31;
  388.     Bucket_SHUTDOWN_TIMER        = 32;
  389.     Bucket_OBJECTIVE            = 33;        // How many seconds (total) I've remained within an objective area
  390.     Bucket_OBJECTIVE_CONTESTED    = 34;        // How many seconds (total) I've remained within an objective area with enemies in the same area
  391.     Bucket_OBJECTIVE_UNCONTESTED = 35;        // How many seconds (total) I've remained within an objective area with no enemies in the same area
  392.     Bucket_FLAGS_TAKEN            = 36;        // How many flags I've picked up
  393.     Bucket_FLAGS_DROPPED        = 37;        // How many flags I've dropped due to dying while carrying the flag
  394.     Bucket_FLAGS_CAPTURED        = 38;        // How many flags I've successfully returned to my capture zone
  395.     Bucket_FLAG_HOLD_TIME        = 39;        // Total amount of time I've held any flags
  396.     Bucket_TIME                    = 40;
  397.     Bucket_ALIVE_PLAYERS        = 41;
  398.     Bucket_DEAD_PLAYERS            = 42;
  399.     Bucket_CUSTOM                = 43;
  400.  
  401.     Bucket_Team1 = -1;
  402.     Bucket_Team2 = -2;
  403.     Bucket_Team3 = -3;
  404.     Bucket_Team4 = -4;
  405.     Bucket_Team5 = -5;
  406.     Bucket_Team6 = -6;
  407.     Bucket_Team7 = -7;
  408.     Bucket_Team8 = -8;
  409.  
  410.     Affects_Single = 0;
  411.     Affects_All = 1;
  412.  
  413. //----------------
  414. // Game Parameter Flags (for GetGameParam())
  415. // NOTE: these must EXACTLY match the constants in ABLXSTD.CPP!
  416. //----------------
  417.  
  418.     GameParam_heatOn                    = 0;
  419.     GameParam_killLimit                    = 1;
  420.     GameParam_killLimitNumber            = 2;
  421.     GameParam_respawnLimit                = 3;
  422.     GameParam_respawnLimitNumber        = 4;
  423.     GameParam_forceRespawn                = 5;
  424.     GameParam_splashOn                    = 6;
  425.     GameParam_splashPercentage            = 7;
  426.     GameParam_unlimitedAmmo                = 8;
  427.     GameParam_friendlyFirePercentage    = 9;
  428.     GameParam_allowZoom                    = 10;
  429.     GameParam_allow3rdPerson            = 11;
  430.     GameParam_allowAutoAim                = 12;
  431.     GameParam_allowDeadToChat            = 13;
  432.     GameParam_invulnerableDrop            = 14;
  433.     GameParam_isNight                    = 15;
  434.     GameParam_weather                    = 16;
  435.     GameParam_visibility                = 17;
  436.     GameParam_reportStats                = 18;
  437.     GameParam_serverConnection            = 19;
  438.     GameParam_serverBandwidth            = 20;
  439.     GameParam_onlyStockMech                = 21;
  440.     GameParam_minimumTonnage            = 22;
  441.     GameParam_maximumTonnage            = 23;
  442.     GameParam_gameLength                = 24;
  443.     GameParam_serverRecycle                = 25;
  444.     GameParam_recycleDelay                = 26;
  445.     GameParam_playMissionReview            = 27;
  446.     GameParam_ruleType                    = 28;
  447.     GameParam_deadMechCantSee            = 29;
  448.     GameParam_deadMechCantSeeOtherTeam    = 30;
  449.     GameParam_allowdecaltransfer        = 31;
  450.     GameParam_useMapCycle                = 32;
  451.     GameParam_pureMapCycle                = 33;
  452.     GameParam_teamAllowed                = 34;
  453.     GameParam_teamCount                    = 35;
  454.     GameParam_closedGame                = 36;
  455.     GameParam_playerLimit                = 37;
  456.  
  457. //----------------
  458. // Mech type constants (for GetMechType())
  459. // NOTE: these must EXACTLY match the constants in MechLabHeaders.h!
  460. //----------------
  461.  
  462.     M_Argus            = 0;
  463.     M_Atlas            = 1;
  464.     M_Awesome        = 2;
  465.     M_Bushwacker    = 3;
  466.     M_Catapult        = 4;
  467.     M_Chimera        = 5;
  468.     M_Cougar        = 6;
  469.     M_Daishi        = 7;
  470.     M_Hellspawn        = 8;
  471.     M_Loki            = 9;
  472.     M_Madcat        = 10;
  473.     M_Madcat_MKII    = 11;
  474.     M_Mauler        = 12;
  475.     M_Novacat        = 13;
  476.     M_Osiris        = 14;
  477.     M_Raven            = 15;
  478.     M_Shadowcat        = 16;
  479.     M_Thanatos        = 17;
  480.     M_Thor            = 18;
  481.     M_Uziel            = 19;
  482.     M_Vulture        = 20;
  483.     NoMechID        = 21;
  484.     
  485. //----------------
  486. // SetFlagsEnabled() constants
  487. // NOTE: these must EXACTLY match the constants in MWMission.hpp!
  488. //----------------
  489.  
  490.     FLAGS_HIDE                = 0;
  491.     FLAGS_TEAM_ONLY            = 1;
  492.     FLAGS_UNIVERSAL_ONLY    = 2;
  493.     FLAGS_SHOW_ALL            = 3;
  494.  
  495. //----------------
  496. // GetViewMode()/SetViewMode() constants
  497. //----------------
  498.  
  499.     VIEW_OUTSIDE_CENTER        = 0;
  500.     VIEW_OUTSIDE_RIGHT        = 1;
  501.     VIEW_OUTSIDE_LEFT        = 2;
  502.     VIEW_IN_MECH            = 3;
  503.  
  504. //----------------
  505. // Sensor Mode constants
  506. // NOTE: these must match the constants in Sensor.hpp
  507. //----------------
  508.  
  509.     SENSOR_ACTIVE            = 0;
  510.     SENSOR_PASSIVE            = 1;
  511.     SENSOR_SHUTDOWN            = 2;
  512.  
  513. //----------------
  514. // Input Trainer constants
  515. // NOTE: these must EXACTLY match the constants in InputTrainer.hpp!
  516. //----------------
  517.  
  518.     INPUT_NONE                = 0;
  519.  
  520.     INPUT_THROTTLE            = 1;
  521.     INPUT_TURN                = 2;
  522.     INPUT_TORSO                = 4;
  523.     INPUT_FIRING            = 8;
  524.     INPUT_VIEW_MODES        = 16;
  525.     INPUT_TARGET_SELECTION    = 32;
  526.     INPUT_ZOOM                = 64;
  527.     INPUT_HEAT                = 128;
  528.     INPUT_NAV_SWITCHING        = 256;
  529.     INPUT_MISC                = 32768;
  530.  
  531.     INPUT_ALL                = 65535;
  532.  
  533. //----------------
  534. // HUD elements
  535. // NOTE: The keywords and constants here must exactly match those in MWGUIManager.hpp!
  536. //----------------
  537.  
  538.     HUD_NAV                = 0;
  539.     HUD_TARGETARROW        = 1;
  540.     HUD_TORSOBAR        = 2;
  541.     HUD_ZOOM            = 3;
  542.     HUD_HEAT            = 4;
  543.     HUD_COOLANT            = 5;
  544.     HUD_JUMP            = 6;
  545.     HUD_SPEED            = 7;
  546.     HUD_DAMAGE            = 8;
  547.     HUD_TARGETDAMAGE    = 9;
  548.     HUD_WEAPON            = 10;
  549.     HUD_RETICLE            = 11;
  550.     HUD_RADAR            = 12;
  551.     HUD_CHAT            = 13;
  552.     HUD_COMM            = 14;
  553.     HUD_HELP            = 15;
  554.     HUD_MAP                = 16;
  555.     HUD_OBJECTIVE        = 17;
  556.     HUD_SCORE            = 18;
  557.     HUD_TIMER            = 19;
  558.     HUD_HELPARROW        = 20;
  559.  
  560. //----------------
  561. // Sound triggers
  562. // NOTE: The keywords and constants here must exactly match those in VehicleInterface.hpp!
  563. //----------------
  564.  
  565.     SOUND_TRIGGER_CRITICAL_HIT_WEAPON    = 0;
  566.     SOUND_TRIGGER_CRITICAL_HIT_GIMP        = 1;
  567.     SOUND_TRIGGER_DAMAGE_CRITICAL        = 2;
  568.     SOUND_TRIGGER_NO_HEAT                = 3;
  569.     SOUND_TRIGGER_LOW_HEAT                = 4;
  570.     SOUND_TRIGGER_MED_HEAT                = 5;
  571.     SOUND_TRIGGER_HIGH_HEAT                = 6;
  572.     SOUND_TRIGGER_MELTDOWN                = 7;
  573.     SOUND_TRIGGER_AUTO_SHUTDOWN_OVERRIDE    = 8;
  574.     SOUND_TRIGGER_SHUTDOWN                = 9;
  575.     SOUND_TRIGGER_POWER_UP                = 10;
  576.     SOUND_TRIGGER_MISSILE_LOCKED        = 11;
  577.     SOUND_TRIGGER_MISSILE_LOCKLOST        = 12;
  578.     SOUND_TRIGGER_MISSILE_LOCKED_ON_ME    = 13;
  579.     SOUND_TRIGGER_RADAR_RANGE_CHANGE    = 14;
  580.     SOUND_TRIGGER_RADAR_ON                = 15;
  581.     SOUND_TRIGGER_RADAR_OFF                = 16;
  582.     SOUND_TRIGGER_ZOOM_RETICAL_ENGAGED    = 17;
  583.     SOUND_TRIGGER_AMS_ENGAGED            = 18;
  584.     SOUND_TRIGGER_LAMS_ENGAGED            = 19;
  585.     SOUND_TRIGGER_NARC_SIGNAL_START        = 20;
  586.     SOUND_TRIGGER_NARC_HIT                = 21;
  587.     SOUND_TRIGGER_NEW_VEHICLE_RADAR_POWER_UP    = 22;
  588.     SOUND_TRIGGER_TORSO_TWIST            = 23;
  589.     SOUND_TRIGGER_TORSO_TWIST_MAX_REACHED        = 24;
  590.     SOUND_TRIGGER_RADAR_JAMMED            = 25;
  591.     SOUND_TRIGGER_COOLANT_FLUSH_START    = 26;
  592.     SOUND_TRIGGER_COOLANT_FLUSH_STOP    = 27;
  593.     SOUND_TRIGGER_OUT_OF_AMMO            = 28;
  594.     SOUND_TRIGGER_OBJECT_SCANNED        = 29;
  595.     SOUND_TRIGGER_INTERNAL_PPC_WASH        = 30;
  596.     SOUND_TRIGGER_HILL_TOO_STEEP        = 31;
  597.     SOUND_TRIGGER_TARGET_DESTROYED        = 32;
  598.     SOUND_TRIGGER_TERRAIN_BAD            = 33;
  599.     SOUND_TRIGGER_NARC_SIGNAL_STOP        = 34;
  600.     SOUND_TRIGGER_RECHARGE_BEAM            = 35;
  601.     SOUND_TRIGGER_RECHARGE_MISSILE        = 36;
  602.     SOUND_TRIGGER_RECHARGE_PROJECTILE    = 37;
  603.     SOUND_TRIGGER_RECHARGE_PPC            = 38;
  604.     SOUND_TRIGGER_STEP_WATER_START        = 39;
  605.     SOUND_TRIGGER_STEP_WATER_STOP        = 40;
  606.     SOUND_TRIGGER_ENGINE_WALK            = 41;
  607.     SOUND_TRIGGER_ENGINE_RUN            = 42;
  608.     SOUND_TRIGGER_ENGINE_STOP            = 43;
  609.     SOUND_TRIGGER_ENGINE_REVERSE        = 44;
  610.     SOUND_TRIGGER_NAVPOINT_REACHED        = 45;
  611.     SOUND_TRIGGER_KILLAWARDED            = 46;
  612.     SOUND_TRIGGER_FRIENDLYFIREPENALTY    = 47;
  613.     SOUND_TRIGGER_YOUHAVEFLAG            = 48;
  614.     SOUND_TRIGGER_YOUINLEAD                = 49;
  615.     SOUND_TRIGGER_TEAMMATEDESTROYED        = 50;
  616.     SOUND_TRIGGER_FLAGTAKEN                = 51;
  617.     SOUND_TRIGGER_FLAGCAPTURED            = 52;
  618.     SOUND_TRIGGER_FLAGRETURNED            = 53;
  619.     SOUND_TRIGGER_HILLCONTESTED            = 54;
  620.     SOUND_TRIGGER_HILLCAPTURED            = 55;
  621.     SOUND_TRIGGER_DEFENDEDDESTROYED        = 56;
  622.     SOUND_TRIGGER_MECH_DESTROYED        = 57;
  623.     SOUND_TRIGGER_ENEMY_DEAD            = 58;
  624.     SOUND_TRIGGER_ALLY_DEAD                = 59;
  625.     SOUND_TRIGGER_LANCE_DEAD            = 60;
  626.     SOUND_TRIGGER_COMM_OFF                = 61;
  627.     SOUND_TRIGGER_INIT_REPAIR            = 62;
  628.     SOUND_TRIGGER_REPAIR_COMP            = 63;
  629.     SOUND_TRIGGER_ENEMY_CAPTURED        = 64;
  630.     SOUND_TRIGGER_NAV_ALPHA                = 65;
  631.     SOUND_TRIGGER_NAV_BETA                = 66;
  632.     SOUND_TRIGGER_NAV_GAMMA                = 67;
  633.     SOUND_TRIGGER_NAV_DELTA                = 68;
  634.     SOUND_TRIGGER_NAV_EPSL                = 69;
  635.     SOUND_TRIGGER_EXTRACT_POINT            = 70;
  636.     SOUND_TRIGGER_TEAM_DEAD                = 71;
  637.     SOUND_TRIGGER_YOU_WIN                = 72;
  638.     SOUND_TRIGGER_YOU_LOSE                = 73;
  639.     SOUND_TRIGGER_VICTORY_BABY            = 74;
  640.     SOUND_TRIGGER_ALL_HILLS                = 75;
  641.     SOUND_TRIGGER_BASE_CAPTURED            = 76;
  642.  
  643.  
  644.  
  645.  
  646. //----------------
  647. // Talker IDs
  648. // NOTE: The keywords and constants here must exactly match those in ablxstd.cpp
  649. //----------------
  650.  
  651.     TALKER_IAN                = 0;
  652.     TALKER_RAT                = 1;
  653.     TALKER_CAS                = 2;
  654.     TALKER_GON                = 3;
  655.     TALKER_JEN                = 4;
  656.     TALKER_TER                = 5;
  657.     TALKER_DAM                = 6;
  658.     TALKER_RES                = 7;
  659.     TALKER_65C                = 8;
  660.     TALKER_EV1                = 9;
  661.     TALKER_EV2                = 10;
  662.     TALKER_SAL                = 11;
  663.     TALKER_REC                = 12;
  664.     TALKER_SUP                = 13;
  665.     TALKER_FO1                = 14;
  666.     TALKER_FO2                = 15;
  667.     TALKER_FO3                = 16;
  668.     TALKER_FO4                = 17;
  669.     TALKER_FO5                = 18;
  670.     TALKER_FO6                = 19;
  671.     TALKER_PI1                = 20;
  672.     TALKER_PI2                = 21;
  673.     TALKER_PI3                = 22;
  674.     TALKER_PI4                = 23;
  675.     TALKER_ART                = 24;
  676.     TALKER_SHE                = 25;
  677.     TALKER_BD1                = 26;
  678.     TALKER_BD2                = 27;
  679.     TALKER_FOX                = 28;
  680.     TALKER_KIL                = 29;
  681.     TALKER_SGT                = 30;
  682.     TALKER_ROM                = 31;
  683.     TALKER_XRY                = 32;
  684.     TALKER_CCG                = 33;
  685.     TALKER_ERL                = 34;
  686.     TALKER_PA1                = 35;
  687.     TALKER_PA2                = 36;
  688.     TALKER_PA3                = 37;
  689.     TALKER_PA4                = 38;
  690.     TALKER_BRV                = 39;
  691.     TALKER_CHL                = 40;
  692.     TALKER_DEN                = 41;
  693.     TALKER_RCG                = 42;
  694.     TALKER_VRD                = 43;
  695.     TALKER_VOR                = 44;
  696.     TALKER_HQ1                = 45;
  697.     TALKER_HQ2                = 46;
  698.     TALKER_HQ3                = 47;
  699.     TALKER_MED                = 48;
  700.     TALKER_SFQ                = 49;
  701.     TALKER_CJK                = 50;
  702.     TALKER_ABC                = 51;
  703.     TALKER_BRK                = 52;
  704.     TALKER_CST                = 53;
  705.     TALKER_ROL                = 54;
  706.     TALKER_WIL                = 55;
  707.     TALKER_EPS                = 56;
  708.     TALKER_PET                = 57;
  709.     TALKER_EP2                = 58;
  710.     TALKER_BET                = 59;
  711.